Stored Procedures [dbo].[BAEEventValidateRegistrantFunctions]
Properties
PropertyValue
ANSI Nulls OnYes
Quoted Identifier OnYes
Parameters
NameData TypeMax Length (Bytes)
@RegistrationIDvarchar(50)50
@EventCodevarchar(50)50
SQL Script
create procedure [dbo].[BAEEventValidateRegistrantFunctions] @RegistrationID varchar(50),
     @EventCode varchar(50) as
DECLARE @Valid int, @ProductCode varchar(50), @FunctionCode varchar(30)
    SET @Valid = 0; -- 0 IS = to valid, 1 IS NOT valid

    SELECT @FunctionCode = FunctionCode
    FROM EventSetupFunctionGroup
    WHERE EventCode = @EventCode AND GroupName = 'G1'

    -- Double check to see if the user Selected at least one BAE auto enroll function
    IF @@ROWCOUNT > 0
    begin
        SELECT @FunctionCode = FunctionCode
        FROM EventSetupFunctionGroup
        WHERE EventCode = @EventCode AND GroupName = 'G1' AND FunctionCode COLLATE database_default IN(
            SELECT REPLACE(FunctionCode, @EventCode + '/','')
            FROM CartEventFunction
            WHERE CartEventID = (
                SELECT CartEventID
                FROM CartEvent
                WHERE EventCode = @EventCode AND RegistrantID = @RegistrationID
                )
            )

        IF @@ROWCOUNT = 0
            SET @Valid = 1
            
    end
    ELSE -- Double check to see if the user Selected the iMis auto enroll functions
    begin
        SELECT @ProductCode = PRODUCT_CODE FROM Product_Function
        WHERE AUTO_ENROLL = 1
            AND PRODUCT_CODE LIKE @EventCode + '%'
            AND PRODUCT_CODE COLLATE database_default IN(
                SELECT REPLACE(FunctionCode, @EventCode + '/','')
                FROM CartEventFunction
                WHERE CartEventID = (
                    SELECT CartEventID
                    FROM CartEvent
                    WHERE EventCode = @EventCode AND RegistrantID = @RegistrationID
                    )
            ) --COLLATE database_default

        IF @@ROWCOUNT > 0
            SET @Valid = 1
    end

    SELECT @Valid AS 'Validated'

GO
Uses